在 SwiftUI 中,AppStorage
和 UserDefaults
提供簡單且高效的方式來持久化應用程式的資料。這兩者主要用來儲存小型資料,例如用戶偏好設置、應用程式狀態等。
UserDefaults
是 iOS 中常用的鍵值對儲存方式,可以跨應用程序啟動儲存簡單的數據,如布林值、整數、字串等。用法如下:
// 寫入資料到 UserDefaults
UserDefaults.standard.set(true, forKey: "isLoggedIn")
// 讀取資料
let isLoggedIn = UserDefaults.standard.bool(forKey: "isLoggedIn")
AppStorage
是 SwiftUI 中針對簡單資料存取的屬性包裝器,並自動與視圖狀態綁定,非常適合 SwiftUI 中使用。其背後實際上也是使用 UserDefaults
。
struct ContentView: View {
@AppStorage("username") var username: String = "Guest"
var body: some View {
VStack {
Text("Welcome, \(username)!")
Button("Change Username") {
username = "SwiftUI User"
}
}
}
}
AppStorage
比起 UserDefaults
更加簡單直觀,適合在 SwiftUI 中綁定 UI 的狀態。當需要更細粒度的控制或跨平台時(如 macOS/iOS 共用),可以直接使用 UserDefaults
。
AppStorage
來簡化 SwiftUI 中的資料持久化。UserDefaults
適合非 UI 綁定的全局設置或複雜數據存取場景。UserDefaults
存放大量數據。透過這些技巧,能輕鬆實現應用程式資料的持久化與管理。